Salesforce UX API icon

Salesforce UX API

(0 reviews)

TMF666 POST - Create B2B-SOHO Dunning

Create an Account for the B2B SHOHO customer, Salesforce → ESB → ARIA

To work this functionality

  • The "relatedParty.characteristic.value" should not be empty and the possible values are "SOHO/Small, LE/CE, Government, Wholesale" where the "relatedParty.characteristic.name=Classification"
  • The Possible values for "characteristic.riskProfileId" can be High, Low, Medium ,or B2B_Default.
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/billingAccount
URL PARAMS
nametypedescriptionrequired
businessIdstring2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit.Y
namevaluedescriptionrequired
client_idstringThe client_id identifying the channel.Y
client_secretstringPassword associated with the client_id.Y
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.Y
targetSystemstringThis describes the end system request is for eg, “Aria”, “Matrixx”Y
channelIdStringThis is the channel to identify the business group, Eg: “SFDC-B2B”Y
cURL request
curl --location 'https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/v1/PR/billingAccount' \
--header 'X-Correlation-Id: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b' \
--header 'client_id: 784c9a6dd7ae49768816cab57fcf1fa1' \
--header 'client_secret: 187b259EB77441babbF611d2646C670d' \
--header 'targetSystem: Aria' \
--header 'channelId: SFDC-B2B' \
--header 'Content-Type: application/json' \
--data-raw '{
    "defaultPaymentMethod": {
        "@referredType": "NonAutoPay",
        "name": "Net_23_Days"
    },
    "billStructure": {
        "presentationMedia": [
            {
                "name": "XML Master File",
                "@type": "notify_method"
            },
            {
                "name": "Paper Billing",
                "@type": "BillDeliveryMethod"
            }
        ]
    },
    "accountBalance": [
        {
            "balanceType": "balanceForward",  //Move the balance along with the initial Order from MITO
            "amount": {
                "unit": "USD",
                "value": 10
            }
        }
    ],
    "characteristic": [
        {
            "valueType": "string",
            "value": "Terms",
            "name": "paymentOption"
        },
        {
            "valueType": "string",
            "value": "firstName1",
            "name": "firstName1"
        },
        {
            "valueType": "string",
            "value": "lastName1",
            "name": "lastName1"
        },
        {
            "valueType": "string",
            "value": "companyName1",
            "name": "companyName1"
        },
        {
            "valueType": "string",
            "value": "firstName2",
            "name": "firstName2"
        },
        {
            "valueType": "string",
            "value": "lastName2",
            "name": "lastName2"
        },
        {
            "valueType": "string",
            "value": "companyName2",
            "name": "companyName2"
        },
        {
            "valueType": "string",
            "value": "EN",
            "name": "language"
        },
        {
            "valueType": "string",
            "value": "Low",
            "name": "riskProfileId"
        },
        {
            "valueType": "string",
            "value": "PR-English",
            "name": "localeName"
        },
        {
            "valueType": "string",
            "value": "B2B ",
            "name": "functional_acct_group"
        },
        {
            "valueType": "string",
            "value": "2024-1-13",
            "name": "retroactive_start_date"
        }
    ],
    "relatedParty": [
        {
            "id": "ban1807001-can1807001-BG",
            "@type": "BillingGroupRef",
            "name": "ban1807001-can1807001 Billing Group 001"
        },
        {
            "id": "PR13",
            "@type": "CompanyCodeRef",
            "name": "Company Code"
        },
        {
            "id": "ATT12345",
            "@type": "MigratedAccountRef",
            "name": "BAN"        // For AT&T account Migration if applicable
        },
        {
            "@referredType": "Customer",
            "role": "Owner",
            "characteristic": [
                {
                    "name": "Classification",
                    "valueType": "string",
                    "value": "SOHO" //Posiible values SOHO/Small,LE/CE,Wholesale,Government
                }
            ]
        }
    ],
    "financialAccount": {
        "id": "ban1807001-can1807001-DG",
        "@type": "DunningGroupRef",
        "name": "ban1807001-can1807001 Dunning Group 001"
    },
    "contact": [
        {
            "partyRoleType": "Customer",
            "contactMedium": [
                {
                    "preferred": true,
                    "characteristic": {
                        "emailAddress": "itsme@anemail.com",
                        "phoneNumber": "(416) 986-5566",
                        "street1": "150 Chestnut Street",
                        "stateOrProvince": "SA",
                        "postCode": "L4B 1Y3",
                        "country": "AU",
                        "city": "Toronto"
                    },
                    "mediumType": "Phone",
                    "@referredType": "accountContact"
                },
                {
                    "preferred": true,
                    "characteristic": {
                        "emailAddress": "dave@ariasystems.com",
                        "phoneNumber": "(787) 449-4049",
                        "street1": "52 CALLE 1",
                        "stateOrProvince": "PR",
                        "postCode": "00924",
                        "country": "US",
                        "city": "San Juan"
                    },
                    "mediumType": "Mail",
                    "@referredType": "statementContact"
                }
            ],
            "relatedParty": {
                "role": "Owner",
                "name": "Noah White",
                "id": "CA-63"
            },
            "contactName": "White, Noah"
        }
    ],
    "accountType": "B2B",
    "@type": "BillingAccount",
    "paymentStatus": "Postpaid",
    "state": "Active",
    "id": "ban1807001-can1807001",
    "accountRelationship": [
        {
            "account": {
                "id": "ban1807001-can1807001_MPI_000",
                "name": "Account_Master_Plan",
                "description": "ban1807001-can1807001 Master Plan 000",
                "@type": "MasterPlanRef"
            }
        }
    ],
    "taxExemption": [
        {
            "issuingJurisdiction":"",
            "certificateNumber": "Cert1234",
            "@type": "TaxExemptCertificate",
            "reason": "A"
        }
    ]
}'

Definitions

nametypedescriptionrequired
idstringUnique identifier of the accountY
accountTypestringA categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid valuesY*
paymentStatusstringThe condition of the account, such as due, paid, in arrearsN
statestringContains the lifecycle state such as: Active, Closed, Suspended and so on.N
accountBalanceobject ArrayBalances linked to the accountN
accountBalance.balanceTypestringType of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance...N
accountBalance.amountobjectBalance amountN
accountBalance.amount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N
accountBalance.amount.valuenumber, floatA positive floating point numberN
accountRelationshipobject ArraySignificant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account This object is required for B2B while creating a child billingAccount. This must be passed only when you want to create a child billing Account. For B2B to create childAccount it's mandatoryY*
accountRelationship.accountobject.An account may be a party account or a financial account.N
accountRelationship.account.idstringUnique identifier Id of the EntityDescriptionRef. Parent billingAccount is passed for B2B It is mandatory where @type is MasterPlanRefY*
accountRelationship.account.descriptionstringDetailed description of the EntityDescriptionRefN
accountRelationship.account.namestringName of the account.N
accountRelationship.account.@typestringY*
billStructureObjectBill structure objectN
billStructure.presentationMediaarrayObjectA list of bill presentation media ref or valuesN
billStructure.presentationMedia.namestringA short descriptive nameN
billStructure.presentationMedia.@typestringWhen sub-classing, this defines the sub-class entity nameN
contactobject ArrayAn individual or an organization used as a contact point for a given account and accessed via some contact medium.N
contact.contactNamestringA displayable name for that contactN
contact.partyRoleTypestringIdentifies what kind of party role type is linked to the contact (a account manager...)N
contact.contactMediumobject ArrayIndicates the contact medium that could be used to contact the party.N
contact.contactMedium.mediumTypestringType of the contact medium, such as: email address, telephone number, postal addressN
contact.contactMedium.preferredbooleanIf true, indicates that is the preferred contact mediumN
contact.contactMedium.@referredTypestringReferred TypeY
contact.contactMedium.characteristicobjectAny additional characteristic(s) of this contact mediumN
contact.contactMedium.characteristic.citystringCityN
contact.contactMedium.characteristic.countrystringY
contact.contactMedium.characteristic.emailAddressstringFull email address in standard formatN
contact.contactMedium.characteristic.phoneNumberstringThe primary phone number of the contactY
contact.contactMedium.characteristic.postCodestringPostcodeY
contact.contactMedium.characteristic.stateOrProvincestringState or provinceN
contact.contactMedium.characteristic.street1stringDescribes the street.Y
contact.relatedPartyobjectrelated party objectN
contact.relatedParty.rolestringrole of related partyN
contact.relatedParty.namestringname of related partyN
contact.relatedParty.idstringunique identifier of related partyN
defaultPaymentMethodobjectN
defaultPaymentMethod.namestringName of the EntityRef.Y
defaultPaymentMethod.@referredTypestringThe actual type of the target instance when needed for disambiguationN
financialAccountobjectAccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.N
financialAccount.idstringUnique identifier Id of the EntityRef.Y
financialAccount.namestringName of the EntityRef.N
financialAccount.@typestringWhen sub-classing, this defines the sub-class entity nameN
characteristicobject ArrayDescribes a given characteristic of an object or entity through a name/value pair.N
characteristic.namestringName of the characteristicY
characteristic.valueTypestringData type of the value of the characteristicN
characteristic.valueanyThe value of the characteristicY
relatedPartyobject ArrayN
relatedParty.idstringUnique identifier Id of the EntityRef.Y*
relatedParty.namestringName of the EntityRef.N
relatedParty.rolestringrole played by the related partyN
relatedParty.@typestringWhen sub-classing, this defines the sub-class entity nameY*
relatedParty.@referredTypestringThe actual type of the target instance when needed for disambiguation. Note - This is mandatory for B2B 'SOHO/Small' customerY*
relatedParty.characteristicarray objectcharacteristic array of related partyN
relatedParty.characteristic.namestringcharacteristic name of related partyY*
relatedParty.characteristic.valueTypestringcharacteristic value type of related partyN
relatedParty.characteristic.valuestringcharacteristic value of related partyY*
taxExemptionobject ArrayProof of freedom from taxes imposed by a taxing jurisdiction.N
taxExemption.certificateNumberstringIdentifier of a document that shows proof of exemption from taxes for the taxing jurisdiction.N
taxExemption.issuingJurisdictionstringName of the taxing jurisdiction for which taxes are exempt.Y
taxExemption.reasonstringReason of the tax exemptionN
taxExemption.@typestringWhen sub-classing, this defines the sub-class entity nameN
@typestringWhen sub-classing, this defines the sub-class entity nameN
characteristic Values:
Characteristic nametypedescriptionrequired
paymentOptionstringLine of business.Y
firstName1stringAccount Contact First NameN
lastName1stringAccount Contact Last NameN
companyName1stringAccount Contact Company NameN
firstName2stringStatement Contact First NameN
lastName2stringStatement Contact Last NameN
companyName2stringStatement Contact Company NameN
languagestringLanguageN
riskProfileIdstringRisk Profile IdY
localeNamestringLocal NameN
functional_acct_groupstringfunctional account groupN
retroactive_start_datestringDate, to set for retroactive startN
relatedParty @typesValues:
relatedParty @typetypedescriptionrequired
BillingGroupRefstringreference of group billingN
CompanyCodeRefstringreference code of companyN
MigratedAccountRefstringaccount reference of migrated account. allowed value is 'BAN'N
relatedParty @referredTypetypedescriptionrequired
CustomerstringCustomer Class Note - This is mandatory for B2B 'SOHO/Small' customerY*

######

Response
{
    "defaultPaymentMethod": {
        "@referredType": "NonAutoPay",
        "name": "Net_23_Days"
    },
    "billStructure": {
        "presentationMedia": [
            {
                "name": "XML Master File",
                "@type": "notify_method"
            },
            {
                "name": "Paper Billing",
                "@type": "BillDeliveryMethod"
            }
        ]
    },
    "accountBalance": [
        {
            "balanceType": "balanceForward",
            "amount": {
                "unit": "USD",
                "value": 10
            }
        }
    ],
    "characteristic": [
        {
            "valueType": "string",
            "value": "Terms",
            "name": "paymentOption"
        },
        {
            "valueType": "string",
            "value": "firstName1",
            "name": "firstName1"
        },
        {
            "valueType": "string",
            "value": "lastName1",
            "name": "lastName1"
        },
        {
            "valueType": "string",
            "value": "companyName1",
            "name": "companyName1"
        },
        {
            "valueType": "string",
            "value": "firstName2",
            "name": "firstName2"
        },
        {
            "valueType": "string",
            "value": "lastName2",
            "name": "lastName2"
        },
        {
            "valueType": "string",
            "value": "companyName2",
            "name": "companyName2"
        },
        {
            "valueType": "string",
            "value": "EN",
            "name": "language"
        },
        {
            "valueType": "string",
            "value": "Low_Risk_Customers",
            "name": "riskProfileId"
        },
        {
            "valueType": "string",
            "value": "PR-English",
            "name": "localeName"
        },
        {
            "valueType": "string",
            "value": "B2B",
            "name": "functional_acct_group"
        },
        {
            "valueType": "string",
            "value": "2021-10-29",
            "name": "retroactive_start_date"
        }
    ],
    "relatedParty": [
        {
            "id": "ban1807002-can1807002-BG",
            "@type": "BillingGroupRef",
            "name": "ban1807002-can1807002 Billing Group 001"
        },
        {
            "id": "PR13",
            "@type": "CompanyCodeRef",
            "name": "Company Code"
        },
        {
            "id": "ATT12345",
            "@type": "MigratedAccountRef",
            "name": "BAN"
        },
        {
            "@referredType": "Customer",
            "role": "Owner",
            "characteristic": [
                {
                    "name": "Classification",
                    "valueType": "string",
                    "value": "SOHO"
                }
            ]
        }
    ],
    "financialAccount": {
        "id": "ban1807002-can1807002-DG",
        "@type": "DunningGroupRef",
        "name": "ban1807002-can1807002 Dunning Group 001"
    },
    "contact": [
        {
            "partyRoleType": "Customer",
            "contactMedium": [
                {
                    "preferred": true,
                    "characteristic": {
                        "emailAddress": "itsme@anemail.com",
                        "phoneNumber": "(416) 986-5566",
                        "street1": "150 Chestnut Street",
                        "stateOrProvince": "SA",
                        "postCode": "L4B 1Y3",
                        "country": "AU",
                        "city": "Toronto"
                    },
                    "mediumType": "Phone",
                    "@referredType": "accountContact"
                },
                {
                    "preferred": true,
                    "characteristic": {
                        "emailAddress": "dave@ariasystems.com",
                        "phoneNumber": "(787) 449-4049",
                        "street1": "52 CALLE 1",
                        "stateOrProvince": "PR",
                        "postCode": "00924",
                        "country": "US",
                        "city": "San Juan"
                    },
                    "mediumType": "Mail",
                    "@referredType": "statementContact"
                }
            ],
            "relatedParty": {
                "role": "Owner",
                "name": "Noah White",
                "id": "CA-63"
            },
            "contactName": "White, Noah"
        }
    ],
    "accountType": "B2B",
    "@type": "BillingAccount",
    "paymentStatus": "Postpaid",
    "state": "Active",
    "id": "ban1807002-can1807002",
    "taxExemption": [
        {
            "issuingJurisdiction":"",
            "certificateNumber": "Cert1234",
            "@type": "TaxExemptCertificate",
            "reason": "A"
        }
    ],
    "accountRelationship": [
        {
            "account": {
                "id": "ban1807002-can1807002_MPI_000",
                "name": "Account_Master_Plan",
                "description": "ban1807002-can1807002 Master Plan 000",
                "@type": "MasterPlanRef"
            }
        },
        {
            "account": {
                "id": "1074353",
                "@type": "billing_group_no",
                "@referredType": "BillingAriaAccount"
            }
        },
        {
            "account": {
                "id": "39629421",
                "@type": "stmt_contact_no",
                "@referredType": "BillingAriaAccount"
            }
        },
        {
            "account": {
                "id": "33437709",
                "@type": "chief_acct_no",
                "@referredType": "BillingAriaAccount"
            }
        },
        {
            "account": {
                "id": "2387978",
                "@type": "plan_instance_no",
                "@referredType": "BillingAriaAccount"
            }
        },
        {
            "account": {
                "id": "3968873",
                "@type": "out_plan_unit_inst_no",
                "@referredType": "BillingAriaAccount"
            }
        }
    ]
}

Definitions

nametypedescriptionrequired
idstringUnique identifier of the accountN
accountTypestringA categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid valuesN
paymentStatusstringThe condition of the account, such as due, paid, in arrearsN
statestringContains the lifecycle state such as: Active, Closed, Suspended and so on.N
accountBalancearrayBalances linked to the accountN
accountBalance.balanceTypestringType of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance...N
accountBalance.amountobjectBalance amountN
accountBalance.amount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N
accountBalance.amount.valuenumber, floatA positive floating point numberN
accountRelationshipobject ArraySignificant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account This object is required for B2B while creating a child billingAccount. This must be passed only when you want to create a child billing Account. For B2B to create childAccount it's mandatoryN
accountRelationship.accountobject.An account may be a party account or a financial account.N
accountRelationship.account.idstringUnique identifier Id of the EntityDescriptionRef. Parent billingAccount is passed for B2BN
accountRelationship.account.descriptionstringDetailed description of the EntityDescriptionRefN
accountRelationship.account.namestringName of the account.N
accountRelationship.account.@typestringWhen sub-classing, this defines the sub-class entity nameN
accountRelationship.account.@referredTypestringAccount referenceN
billStructureObjectBill structure objectN
billStructure.presentationMediaarrayObjectA list of bill presentation media ref or valuesN
billStructure.presentationMedia.namestringA short descriptive nameN
billStructure.presentationMedia.@typestringWhen sub-classing, this defines the sub-class entity nameN
contactobject ArrayAn individual or an organization used as a contact point for a given account and accessed via some contact medium.N
contact.contactNamestringA displayable name for that contactN
contact.partyRoleTypestringIdentifies what kind of party role type is linked to the contact (a account manager...)N
contact.contactMediumobject ArrayIndicates the contact medium that could be used to contact the party.N
contact.contactMedium.mediumTypestringType of the contact medium, such as: email address, telephone number, postal addressN
contact.contactMedium.preferredbooleanIf true, indicates that is the preferred contact mediumN
contact.contactMedium.@referredTypestringReferred TypeN
contact.contactMedium.characteristicobjectAny additional characteristic(s) of this contact mediumN
contact.contactMedium.characteristic.citystringCityN
contact.contactMedium.characteristic.countrystringN
contact.contactMedium.characteristic.emailAddressstringFull email address in standard formatN
contact.contactMedium.characteristic.phoneNumberstringThe primary phone number of the contactN
contact.contactMedium.characteristic.postCodestringPostcodeN
contact.contactMedium.characteristic.stateOrProvincestringState or provinceN
contact.contactMedium.characteristic.street1stringDescribes the street.N
contact.relatedPartyobjectrelated party objectN
contact.relatedParty.rolestringrole of related partyN
contact.relatedParty.namestringname of related partyN
contact.relatedParty.idstringunique identifier of related partyN
defaultPaymentMethodobjectN
defaultPaymentMethod.namestringName of the EntityRef.N
defaultPaymentMethod.@referredTypestringThe actual type of the target instance when needed for disambiguationN
financialAccountobjectAccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.N
financialAccount.idstringUnique identifier Id of the EntityRef.N
financialAccount.namestringName of the EntityRef.N
financialAccount.@typestringWhen sub-classing, this defines the sub-class entity nameN
characteristicobject ArrayDescribes a given characteristic of an object or entity through a name/value pair.N
characteristic.namestringName of the characteristicN
characteristic.valueTypestringData type of the value of the characteristicN
characteristic.valueanyThe value of the characteristicN
relatedPartyobject ArrayN
relatedParty.idstringUnique identifier Id of the EntityRef.N
relatedParty.namestringName of the EntityRef.N
relatedParty.rolerole played by the related partyN
relatedParty.@typestringWhen sub-classing, this defines the sub-class entity nameN
relatedParty.@referredTypestringThe actual type of the target instance when needed for disambiguationN
relatedParty.characteristicarray objectcharacteristic array of related partyN
relatedParty.characteristic.namestringcharacteristic name of related partyN
relatedParty.characteristic.valueTypestringcharacteristic value type of related partyN
relatedParty.characteristic.valuestringcharacteristic value of related partyN
taxExemptionobject ArrayProof of freedom from taxes imposed by a taxing jurisdiction.N
taxExemption.certificateNumberstringIdentifier of a document that shows proof of exemption from taxes for the taxing jurisdiction.N
taxExemption.issuingJurisdictionstringName of the taxing jurisdiction for which taxes are exempt.N
taxExemption.reasonstringReason of the tax exemptionN
taxExemption.@typestringWhen sub-classing, this defines the sub-class entity nameN
@typestringWhen sub-classing, this defines the sub-class entity nameN
characteristic Values:
Characteristic nametypedescriptionrequired
paymentOptionstringLine of business.N
firstName1stringAccount Contact First NameN
lastName1stringAccount Contact Last NameN
companyName1stringAccount Contact Company NameN
firstName2stringStatement Contact First NameN
lastName2stringStatement Contact Last NameN
companyName2stringStatement Contact Company NameN
languagestringLanguageN
riskProfileIdstringRisk Profile IdN
localeNamestringLocal NameN
functional_acct_groupstringfunctional account groupN
retroactive_start_datestringDate, to set for retroactive startN
relatedParty @typesValues:
relatedParty @typetypedescriptionrequired
BillingGroupRefstringreference of group billingN
CompanyCodeRefstringreference code of companyN
MigratedAccountRefstringaccount refererence of migrated account.N
relatedParty @referredTypetypedescriptionrequired
CustomerstringCustomer Class Note - This is mandatory for B2B 'SOHO' customerY*

Reviews